#pragma once
#include "Engine.h"
#include "GameInstance.h"
#include "Runtime/Engine/2D/Widget.h"

namespace Alice
{
    class Window;
    class GameEngine:public Engine
    {
    public:
        GameInstance* mGameInstance;
        Window* mWindow;
        SceneViewport* mSceneViewport;
        ViewportWidget* mViewportWidget;
        void Init(IEngineLoop*inEngineLoop) override;
        void Tick(float inDeltaTime) override;
        virtual void RedrawViewports( bool bShouldPresent = true );
        Window*CreateGameWindow();
        void CreateGameViewportWidget(GameViewportClient* inGameViewportClient);
        void CreateGameViewport(GameViewportClient* inGameViewportClient);
        void SwitchGameWindowToUseGameViewport();
    };
}
